// 默认值
function foo(x, y, z = 1) {}
console.log(foo.length); // 2 - 只计算了非默认参数的个数

// 默认值可以和解构赋值结合使用
let z = 1;
function f(x = z, y = x) {
  console.log(y); // 2
}
f(); // 1
f(2); // 2

// 默认值
function fn({ x, y = 5 }) {
  console.log(x, y);
}
fn({}); // undefined 5
// fn(); // 报错
